//
//  BJNetManager.h
//  
//
//  Created by  on 2023/3/3.
//

#import "BJBaseNetworking.h"
#import "BJGetStrategyModel.h"
#import "BJConfigManager.h"
#import "BJUserManager.h"
#import "BJLoginOauthModel.h"
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "BJBlockListModel.h"
#import "BJFollowedModel.h"
#import "BJGoodsSearchModel.h"
#import "BJUserCoinsModel.h"
#import "BJAnchorWallModel.h"
#import "BJVodeoListModel.h"
NS_ASSUME_NONNULL_BEGIN

@interface BJNetManager : BJBaseNetworking
@property (nonatomic,assign) NSInteger serialId;
@property (nonatomic,copy) NSString *launcherId;


+ (instancetype)shareNetManager;

- (long long)gs_getCurrentTimeToMilliSecond;
- (id)postSearchGoodsWithcompletionHandler:(void(^)(BJGoodsSearchModel *model, NSError *error))completionHandler;

- (id)postCreateRechargeGoodsCode:(NSString *)goodsCode completionHandler:(void(^)(id responOj, NSError *error))completionHandler;

- (id)postPaymentWithOrderNo:(NSString *)orderNo payload:(NSString *)payload transactionId:(NSString *)transactionId completionHandler:(void(^)(id responOj, NSError *error))completionHandler;

//
- (id)postLoginWithOauthType:(int)oauthType token:(NSString *)token completionHandler:(void (^)(id responOj, NSError *error))completionHandler;
//
//
- (id)getGetStrategyWithCompletionHandler:(void(^)(id responOj, NSError *error))completionHandler;

- (id)postSearchAnchorWallWithParm:(NSDictionary *)parm completionHandler:(void(^)(BJAnchorWallModel *model, NSError *error))completionHandler;

- (id)postIsValidTokenWithCompletionHandler:(void(^)(id responOj, NSError *error))completionHandler;


- (id)getGetUserInfoWithUserId:(NSString *)userId completionHandler:(void(^)(BJGetUserInfoModel *model, NSError *error))completionHandler;
////
- (id)postAddFriendWithFollowUserId:(NSInteger)userId completionHandler:(void(^)(id responseObj,NSError *error))completionHandler; 

- (id)postDeleteFriendWithFollowUserId:(NSString *)userId completionHandler:(void (^)(id responseObj,NSError * _Nonnull))completionHandler;

- (id)postGetFriendListPageWithlimit:(int)limit completionHandler:(void(^)(BJFollowedUserModel *model, NSError *error))completionHandler;
//
- (id)getUserCurrentCoinsWithcompletionHandler:(void(^)(BJUserCoinsModel *_Nonnull, NSError *error))completionHandler;

//删除账号
- (id)postDeleteAccountWithCompletionHandler:(void(^)(id _Nonnull,NSError *error))completionHandler;

//登出
- (id)postSecurityLogoutWithCompletionHandler:(void(^)(id responOj, NSError *_Nonnull))completionHandler;

- (id)getOssPolicyWithcompletionHandler:(void(^)(BJOssPolicModel *model, NSError *error))completionHandler;

- (id)postUploadImageToOssWithImage:(UIImage *)image completionHandler:(void(^)(id responOj, NSError *error))completionHandler;

- (id)postUpdateAvatarWithAvatarPath:(NSString *)avatarPath completionHandler:(void(^)(id responOj, NSError *error))completionHandler;
//
- (id)postSaveUserInfoWithParam:(NSDictionary *)param completionHandler:(void(^)(id responOj, NSError *error))completionHandler;
//拉黑举报
- (id)postBlockReportWithParam:(NSMutableDictionary *)parm completionHandler:(void(^)(id responOj, NSError *error))completionHandler;
//
//取消拉黑
- (id)postRemoveBlockWithBlockUserId:(NSInteger)userId completionHandler:(void(^)(id responOj, NSError *error))completionHandler;


- (id)getBlockListWithCompletionHandler:(void(^)(BJBlockListModel *model, NSError *error))completionHandler;
//日志打点上报
- (id)postLogWithParam:(NSArray *)dataArray;
//扣除金币接口
- (id)postReviewModeConsumeWithOutlay:(NSInteger)outlay source:(NSString *)source completionHandler:(void(^)(id responOj, NSError *error))completionHandler;
- (id)getShortLinkMediaSearchWithCompletionHandler:(void(^)(BJVodeoListModel *model, NSError *error))completionHandler;

@end

NS_ASSUME_NONNULL_END
